package com.yi.wood.dao;

import com.yi.wood.entity.Classification;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;

import java.util.List;

/**
 * @author MoYi
 */
public interface ClassificationDao extends JpaRepository<Classification,Long> {
    /**
     * 根据分类等级查询分类列表
     * @param level 等级
     * @param type 分类类型，1-后台侧边菜单，2-后台顶部菜单，3-前端分类菜单
     * @return 列表
     */
    List<Classification> findByLevelEqualsAndTypeEquals(Integer level, Integer type);

    /**
     * 根据分类上级ID查询列表
     * @param parentId 上级ID
     * @return 列表
     */
    List<Classification> findByParentIdEquals(Long parentId);

    /**
     * 根据角色ID查询拥有的分类列表
     * @param roleId 角色ID
     * @return 分类列表
     */
    @Query(value = "select * from classification c left join role_classification rc on c.id = rc.class_id where rc.role_id =:roleId",nativeQuery = true)
    List<Classification> queryByRoleId(Long roleId);
}
